#include"udpserver.hpp"
#include "addr.hpp"
#include"dict.hpp"
// string echo_repeat(string mess,inetaddr addr){
//      string ret;
//      ret+="return ";
//      ret+=mess;
//      return ret;

// }
int main(int argc ,char* argv[]){
    // if(argc != 3)
    // {
    //     std::cerr << "please use: " << argv[0] << " ip"<<" port" << std::endl;
    //     return 1;
    // }

    if(argc != 2)
    {
        std::cerr << "please use: " << argv[0] <<" port" << std::endl;
        return 1;
    }

    consolestrategy;
      //string ip=argv[1];//string内置机制不会直接拷贝指针
      // uint16_t port=stoi(argv[2]);//先构造string

       uint16_t port=stoi(argv[1]);

   // unique_ptr<udpserver> ur=make_unique<udpserver>(ip,port);
   //unique_ptr<udpserver> ur=make_unique<udpserver>(port);
   //回调：

   //1`加载翻译词典：
     dict dt;
     dt.loaddict();
    
     //2`服务端启动接受信息后进行查找功能：
   unique_ptr<udpserver> ur=make_unique<udpserver>(port,[&dt](string mess,inetaddr ar)->string{
              return dt.translate(mess,ar);
   });

    ur->init();
    ur->start();
     
}